package com.jl15988.chainlog.model;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;
import java.util.Map;

/**
 * 接口监控信息
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@ToString(callSuper = true)
public class ChainApiLog extends BaseChainLog {

    /**
     * 请求地址
     */
    private String url;

    /**
     * 请求方式（GET/POST等）
     */
    private String httpMethod;

    /**
     * 请求IP
     */
    private String clientIp;

    /**
     * User-Agent
     */
    private String userAgent;

    /**
     * 模块名称
     */
    private String module;

    /**
     * 操作名称
     */
    private String operationName;

    /**
     * 操作类型
     */
    private String operationType;

    /**
     * 请求头信息
     */
    private Map<String, String> headers;

    public ChainApiLog(String id, Date startTime) {
        super(id);
        this.setStartTime(startTime);
    }
}